#ifndef A85Filter_First
#ifdef __GNUG__
#pragma interface
#endif
#define A85Filter_First

#include "StreamBuf.h"

class Stream;

//---- A85Filter ---------------------------------------------------------------

class A85Filter: public StreamBuf {
protected:
	long outbytes;
	int phase;
	u_long base256;
		
	int eof;
	bool closed;
protected:
	A85Filter();
};

//---- A85Encoder --------------------------------------------------------------

class A85Encoder: public A85Filter {
	long divarray[5];
public:
	A85Encoder();
	int Overflow(u_char*, int);
	void Close();
};

//---- A85Decoder --------------------------------------------------------------

class A85Decoder: public A85Filter {
public:
	A85Decoder();
	int Underflow(u_char *bp, int size);
	void GetNext();
};

#endif

